package pl.olap.sites;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Site {

	public String find(String p_content, String p_pattern) {
		Pattern pattern = Pattern.compile(p_pattern);
		Matcher matcher = pattern.matcher(p_content);
		if (matcher.find()) {

			return matcher.group();
		}
		return new String("");
	}

	/**
	 * usuwa spacje na poczatku i na koncu stringa
	 * 
	 * @param p_string
	 * @return
	 */
	protected String deleteWhiteSpaces(String p_string) {
		if (p_string.length() < 1) {
			return "";
		}
		if (p_string.substring(0, 1).matches("\\s")) {
			p_string = p_string.substring(1, p_string.length());
		}

		if (p_string.substring(p_string.length() - 1, p_string.length())
				.matches("\\s")) {
			p_string = p_string.substring(0, p_string.length() - 1);
		}
		return p_string;

	}

	protected String deleteTabulators(String p_string) {
		return p_string.replaceAll("\\t", "");
	}
	
	public static void printArray(String[] p_strings) {
		if(p_strings==null){
			return;
		}
		for (String string : p_strings) {
			System.out.print(string + " ");
		}
		System.out.println();
	}

	protected String deleteQuote(String p_string) {

		if (p_string.length() < 1) {
			return "";
		}
		if (p_string.substring(0, 1).matches("\"")) {
			p_string = p_string.substring(1, p_string.length());
		}

		if (p_string.substring(p_string.length() - 1, p_string.length())
				.matches("\"")) {
			p_string = p_string.substring(0, p_string.length() - 1);
		}
		return p_string;
	}

	public String formatString(String p_string) {
		String result = p_string.replaceAll("&quot;", "\"");
		result = result.replaceAll("&oacute;", "ó");
		return result;
	}
	
	/**
	 * Znajduje text pomiedzy dwoma tagami/ciagami znakow oznaczony jako (.+?)
	 */
	public String findTextBetween(String p_content, String tag1, String tag2) {
		Pattern pattern = Pattern.compile(tag1 + "(.+)" + tag2);
		Matcher matcher = pattern.matcher(p_content);
		if (matcher.find()) {
			return matcher.group(1);
		}
		return new String("");
	}

	/**
	 * Znajduje text pomiedzy tagami/ciagami znakow oznaczony jako (.+?)
	 */
	public String findTextBetween(String p_content, String tag) {
		return findTextBetween(p_content, tag, tag);
	}

}
